from django.db import models
from tjango.autocomplete.autocompletefields import *
from tjango.calculated.calculatedfields import *

class Autor(models.Model):
	nombre = models.CharField(max_length=30)
	
	def __unicode__(self):
		return self.nombre

class Libro(models.Model):
	autor = AutocompleteField(Autor, ['nombre'])
	titulo = models.CharField(max_length=100)
	isbn = models.CharField(max_length=50)
	
	def __unicode__(self):
		return self.titulo

class Cliente(models.Model):
	nombre = models.CharField(max_length=30)
	calle = models.CharField(max_length=50)
	barrio =  models.CharField(max_length=50)
	numero = models.CharField(max_length=7)
	telefono = models.CharField(max_length=15)
	
	def __unicode__(self):
		return self.nombre
	
	
jss = u'''
	var a=0;
	var b=0;
	for(j=0;j< parseInt($('#id_libros-TOTAL_FORMS').val());j++)
	{
		
		if($('#id_libros-'+j+'-libro').val()!="")
		{
			a +=1;	
			
		}
		
	}
	$('#id_cantidad').val(a);
	'''
		
class Prestamo(models.Model):
	cliente = AutocompleteField(Cliente, ['nombre'], related_name="prestamos")
	cantidad = CalculatedField(models.FloatField, source = ['libros.libro'], js=jss)
	fecha = models.DateField()
	
	def __unicode__(self):
		a = "%s llevo el/los libro(s): " % self.cliente
		for libro in self.libros.all():
			a += "%s, " % libro.libro.isbn
		return a
	
class ItemLibro(models.Model):
	prestamo = models.ForeignKey(Prestamo, related_name="libros")
	libro = AutocompleteField(Libro, ['titulo'], related_name="prestamos")
	autor = CalculatedField(source=['libro'],server="Libro.objects.get(id=libro).autor.nombre",blank=True,null=True)
	isbn = CalculatedField(source=['libro'],server="Libro.objects.get(id=libro).isbn",blank=True,null=True)
	fecha_entrega = models.DateField()
	
	def __unicode__(self):
		return "prestamo de libro %s isbn: %s" % (self.libro,self.isbn)
		